Imports Castle.ActiveRecord

Namespace Model

    ''' <summary>
    '''	Gerado por MyGeneration usando o template ActiveRecord Object Mapper-1.0.3
    '''	Criado em 14/08/2010 00:29:39
    ''' </summary>
    ''' <remarks></remarks>

    <Serializable(), ActiveRecord("ncm", DynamicUpdate:=True)> _
    Public Class Ncm
        Inherits ActiveRecordBase(Of Ncm)

        Private _cd_ncm As Integer
        Private _ncm_numero As String
        Private _ncm_descricao As String


        Private _Produtos As IList(Of Model.Produto) = New List(Of Model.Produto)
        Private _NFItens As IList(Of Model.Nfitem) = New List(Of Model.Nfitem)

        <PrimaryKey(PrimaryKeyType.Sequence, SequenceName:="ncm_cd_ncm_seq")> _
        Public Property cd_ncm() As Integer
            Get
                Return _cd_ncm
            End Get
            Set(ByVal value As Integer)
                _cd_ncm = value
            End Set
        End Property

        <[Property]("ncm_numero")> _
        Public Property ncm_numero() As String
            Get
                Return _ncm_numero
            End Get
            Set(ByVal value As String)
                _ncm_numero = value
            End Set
        End Property

        <[Property]("ncm_descricao")> _
        Public Property ncm_descricao() As String
            Get
                Return _ncm_descricao
            End Get
            Set(ByVal value As String)
                _ncm_descricao = value
            End Set
        End Property

        '<OneToOne()> _
        'Public Property Produto() As Model.Produto
        '    Get
        '        Return _Produtos
        '    End Get
        '    Set(ByVal value As Model.Produto)
        '        _Produtos = value
        '    End Set
        'End Property
        <HasMany(GetType(Model.Produto), Table:="produto", ColumnKey:="cd_ncm", Inverse:=True, Lazy:=True)> _
        Public Property Produto() As IList(Of Model.Produto)
            Get
                Return _Produtos
            End Get
            Set(ByVal value As IList(Of Model.Produto))
                _Produtos = value
            End Set
        End Property

        <HasMany(GetType(Model.Nfitem), Table:="nfitem", ColumnKey:="cd_ncm", Inverse:=True, Lazy:=True)> _
        Public Property NFItens() As IList(Of Model.Nfitem)
            Get
                Return _NFItens
            End Get
            Set(ByVal value As IList(Of Model.Nfitem))
                _NFItens = value
            End Set
        End Property

    End Class
End Namespace